$(function () {
    /**
     * 得到当前所有的错误信息，调用一个方法来确定是否显示错误信息
     */
    $(".labelError").each(function () {
        showError($(this));//遍历每个元素，调用showError方法
    });
   //改变注册图标样式
    $("#submit").hover(function () {
        $("#submit").attr("src","/images/regist2.jpg");
    },function () {
        $("#submit").attr("src","/images/regist1.jpg");
    });
    //输入框得到焦点，错误信息隐藏
    $(".input").focus(function () {
        var n=$(this).attr("id")+"Error";//通过输入框找到对应label的id
        $("#"+n).text("");//清空label的内容
        showError($("#"+n));
    });
    //输入框失去焦点
    $(".input").blur(function () {
        var labelId=$(this).attr("id");//得到label的Id
        var funName="validate"+labelId.substring(0,1).toUpperCase()+labelId.substring(1)+"()";//得到方法名
        eval(funName);
    });
    //提交验证
    $("#submit").click(function () {
        var boo=true;
       if (!validateLoginname()){
           boo=false;
       }
        if (!validateLoginpass()){
            boo=false;
        }
        if (!validateReloginpass()){
            boo=false;
        }
        if (!validateEmail()){
            boo=false;
        }
        if (!validateVerifyCode()){
            boo=false;
        }
        return boo;
    });
});

/**
 * 校验姓名
 */
function  validateLoginname() {
    var id="loginname";
    var value=$("#"+id).val();
    if(value.length==0)
    {
         $("#"+id+"Error").text("用户名不能为零");
         showError($("#"+id+"Error"));
         return false;

    }
    if(value.length<3||value.length>20)
    {
        $("#"+id+"Error").text("用户名只能是3-20个父母");
        showError($("#"+id+"Error"));
        return false;
    }
    //用户名注册校验
    $.ajax({
        url:"/UserServlet",
        data:{method:"AJAXcheckUserName",loginname:value},
        type:"POST",
        dataType:"json",
        success:function (result) {
            if(!result)
            {
                $("#"+id+"Error").text("用户名已经存在");
                showError($("#"+id+"Error"));
                return false;
            }
        }
    });
    return true;
}
/**
 * 校验密码
 */
function  validateLoginpass() {
    var id="loginpass";
    var value=$("#"+id).val();
    if(value.length==0)
    {
        $("#"+id+"Error").text("密码不能为空");
        showError($("#"+id+"Error"));
        return false;

    }
    if(value.length<3||value.length>20)
    {
        $("#"+id+"Error").text("密码只能是3-20个父母");
        showError($("#"+id+"Error"));
        return false;
    }
    return true;
}

/**
 * 再次校验密码
 */
function  validateReloginpass() {
    var id="reloginpass";
    var value=$("#"+id).val();
    if(value.length==0)
    {
        $("#"+id+"Error").text("密码不能为空");
        showError($("#"+id+"Error"));
        return false;

    }
    //密码对比校验
    if (value!=$("#loginpass").val())
    {
        $("#"+id+"Error").text("两次密码输入不相同");
        showError($("#"+id+"Error"));
        return false;
    }
    return true;
}
/**
 * 校验邮箱
 */
function  validateEmail() {
   var id="email";
   var value=$("#"+id).val();
   if(value.length==0)
   {
       $("#"+id+"Error").text("邮箱不能为空");
       showError($("#"+id+"Error"));
       return false;
   }
   if (!/^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/.test(value)){
       $("#"+id+"Error").text("邮箱格式不正确");
       showError($("#"+id+"Error"));
       return false;
   }
   //校验邮箱是否被注册
    $.ajax({
        url:"/UserServlet",
        data:{method:"AJAXcheckEmail",email:value},
        type:"POST",
        dataType:"json",
        success:function (result) {
            if (!result)
            {
                $("#"+id+"Error").text("邮箱已经存在");
                showError($("#"+id+"Error"));
                return false;
            }
        }
    });
    return true;
}
/**
 * 校验验证码
 */
function  validateVerifyCode() {
    var id="verifyCode";
    var value=$("#"+id).val();
    if(value.length==0)
    {
        $("#"+id+"Error").text("验证码不能为空");
        showError($("#"+id+"Error"));
        return false;
    }
    if (value.length>4)
    {
        $("#"+id+"Error").text("验证码错误");
        showError($("#"+id+"Error"));
        return false;
    }
    //校验验证码是否正确
    $.ajax({
        url:"/UserServlet",
        data:{method:"AJAXcheckVerifyCode",verifyCode:value},
        type:"POST",
        dataType:"json",
        success:function (result) {
            if (!result)
            {
                $("#"+id+"Error").text("验证码错误");
                showError($("#"+id+"Error"));
                return false;
            }
        }
    });
    return true;
}
/**
 * 判断当前元素是否有内容，有：显示，没有，不显示
 * @param ele
 */
function showError(ele) {
    var text=ele.text();
    if (!text)
    {
        ele.css("display","none");
    }
    else {
        ele.css("display","");
    }
}

/**
 * 更换验证码
 * @private
 */
function _change() {
   //找到image元素
   $("#vCode").attr("src","/VerifyCodeServlet?a="+new Date().getMilliseconds());

}


